from multiprocessing import Process
# 各个进程之间的数据不共享的，操作自己进程中的a
a = 100


def add():
    print('子进程1开始执行')
    global a
    a += 30
    print('a的值是：', a)
    print('子进程1执行完毕')


def sub():
    print('子进程2开始执行')

    global a
    a -= 50
    print('a的值是：', a)
    print('子进程2执行完毕')


if __name__ == '__main__':
    print('父进程开始')
    print('a的值是：', a)
    # 创建加法的子进程
    p1 = Process(target=add)
    # 创建减法的子进程
    p2 = Process(target=sub)

    # 启动子进程
    p1.start()
    p2.start()

    # 阻塞主进程
    p1.join()
    p2.join()

    print('父进程执行结束')
    print('a的值是：', a)
